Multi-processor operating environments such as the Transaction Processing Facility (“TPF”) operating environment sold by International Business Machines of Armonk, N.Y. provide an execution environment for multi-threaded applications. During development of these applications, developers use a debug program (debugger) to control the flow of application program execution and to inspect aspects of programs. Debugging of programs may be done either manually or interactively by a debugging system mediated by a computer system. Manual debugging of a program requires a programmer to manually trace the logic flow of the program and the contents of memory elements, e.g., registers and variables. In the interactive debugging of programs, the program is executed under the control of a monitor program (known as a “debugger”), commonly located on and executed by the same computer system on which the program is executed.
Most debugging programs run in the application process, i.e., on the application Program Control Block (“PCB”). One problem with these types of debuggers is that by running in the application process, the memory required for the application is dramatically increased. This implicitly changes the operation and setup of the application (foot print). The TPF operating environment, on the other hand, provides a debugger referred to as the TPF debugger that operates in its own process that is separate from the application process. In operating environments such as the TPF environment problems can be encountered when trying to debug a multi-threaded application.
One solution for debugging multi-threaded application in a TPF environment is to allocate a single instance of the TPF debugger to each thread. However, this solution requires a large number of resources. Another solution is to instantiate the TPF debugger as part of the application process. However, the advantages of operating the TPF debugger outside of the application process would then be lost.
Therefore a need exists to overcome the problems with the prior art as discussed above.